package com.bestcem.xm.om.dao.impl;

import cn.hutool.core.lang.ObjectId;
import com.alibaba.fastjson.JSON;
import com.bestcem.xm.om.dao.SmsTemplateDao;
import com.bestcem.xm.om.dao.mapper.SmsTemplateMapper;
import com.bestcem.xm.om.entity.SmsTemplate;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

/**
 * 描述信息
 *
 * @author xuan.yang <xuan.yang@idiaoyan.com>
 * @version v1.0
 * @date 2021/11/12 11:52
 */
@Repository
public class SmsTemplateDaoImpl implements SmsTemplateDao {
    @Resource
    private SmsTemplateMapper smsTemplateMapper;

    @Override
    public SmsTemplate getSmsTemplateById(String smsTemplateId) {
        return smsTemplateMapper.getSmsTemplateById(smsTemplateId);
    }

    @Override
    public String saveSmsTemplate(SmsTemplate smsTemplate) {
        if (!ObjectId.isValid(smsTemplate.getId())) {
            smsTemplate.setId(ObjectId.next());
        }
        smsTemplateMapper.saveSmsTemplate(smsTemplate);
        return smsTemplate.getId();
    }

    @Override
    public Long updateFristById(String templateId, String content, List<String> linkList) {
        if (StringUtils.isBlank(content) || !ObjectId.isValid(templateId)) {
            return 0L;
        }
        return smsTemplateMapper.updateFristById(templateId, content, JSON.toJSONString(linkList));
    }

    @Override
    public List<SmsTemplate> listByIds(List<String> idList) {
        return smsTemplateMapper.listByIds(idList);
    }
}
